import * as echarts from 'echarts'
import chinaMapData from '../data/china.json'

echarts.registerMap('china', chinaMapData)

export default function (el: HTMLElement) {
  const echartInstance = echarts.init(el)

  const setOptions = (options: echarts.EChartsOption) => {
    echartInstance.setOption(options)
  }

  // 当侧边栏进行缩放改变时,主动的进行调用resize()
  const updateSize = () => {
    echartInstance.resize()
  }

  // 缩放时监听窗口的改变,调用resize()方法,让echart图形进行自适应
  window.addEventListener('resize', () => {
    echartInstance.resize()
  })

  // 当外面使用时不需要全部使用完导出的变量时,可以使用{}类型
  // 当外面使用时需要全部使用完导出的变量时,使用[]类型较好,且顺序需要一样
  return {
    echartInstance,
    setOptions,
    updateSize
  }
}
